How Do So ware Developers Identify Design Problems?
نویسندگان
چکیده
When a software design decision has a negative impact on one or more quality attributes, we call it a design problem. For example, the Fat Interface problem indicates that an interface exposes non-cohesive services. Thus, clients and implementations of this interface may have to handle with services that they are not interested. A design problem such as this hampers the extensibility and maintainability of a software system. As illustrated by the example, a single design problem often a ects several elements in the program. Despite its harmfulness, it is di cult to identify a design problem in a system. It is even more challenging to identify design problems when the source code is the only available artifact. In particular, no study has observed what strategy(ies) developers use in practice to identify design problems when the design documentation is unavailable. In order to address this gap, we conducted a qualitative analysis on how developers identify design problems in two di erent scenarios: when they are either familiar (Scenario 1) or unfamiliar (Scenario 2) with the analyzed systems. Developers familiar with the systems applied a diverse set of strategies during the identi cation of each design problem. Some strategies were frequently used to locate code elements for analysis, and other strategies were frequently used to con rm design problems in these elements. Developers unfamiliar with the systems relied only on the use of code smells along the task. Despite some di erences among the subjects from both scenarios, we noticed that developers often search for multiple indicators during the identi cation of each design problem.
منابع مشابه
What Makes Coding Activities Challenging?
What do developers do during coding activities, and how can tools more effectively support these activities? What questions are hard to answer, why does investigating and debugging code take so long, and why do bugs occur? The goal of my research is to identify the most important problems developers face using human-computer interaction techniques and use software engineering techniques to desi...
متن کاملDeveloping a Taxonomy for Electronic Portfolios
Ongoing educational discussions on e-portfolios assume that the appropriate use of this relatively new so ware tool can improve the e ciency and e ectiveness of learning. A large and growing body of literature examines the various features of the so ware and the di erent kinds of application scenarios that exist for instruction and education. Given this explosion of interest, it should be ...
متن کاملTowards Eective Adoption of Security Practices
Security tools guide soware developers to identify potential vulnerabilities in their codes. However, the use of security tools is not common among developers. e goal of this research is to develop a framework for modeling the adoption of security practices in soware development, and explore various sanctioning mechanisms in promoting greater adoption of these practices among developers. We ...
متن کاملA Large Scale Investigation of Obfuscation Use in Google Play
Android applications are frequently plagiarized or maliciously repackaged, and soware obfuscation is a popular protection against these practices. In this study, we present the rst comprehensive analysis of the use and challenges of soware obfuscation in Android applications. We surveyed 308 Google Play developers about their experiences with obfuscation, nding that the free ProGuard sowar...
متن کاملDigitalization of Swedish Government Agencies - A Perspective Through the Lens of a Software Development Census
Soware engineering is at the core of the digitalization of society. Ill-informed decisions can have major consequences, as made evident in the 2017 government crisis in Sweden, originating in a data breach caused by an outsourcing deal made by the Swedish Transport Agency. Many Government Agencies (GovAgs) in Sweden are rapidly undergoing a digital transition, thus it is important to overview ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017